Most problems encountered in engineering design are nonlinear by nature and involve the determination of system parameters that satisfy certain goals for the problem being solved. Such problems can be cast in the form of a mathematical optimization problem where a solution is desired that minimizes a system function or parameter subject to limitations or constraints on the system. Both the system function and constraints are comprised of system inputs (control variables) and system outputs, which may be either discrete or continuous. Furthermore, constraints may be equalities or inequalities. The solution to a given optimization problem has either or both of the following characteristics: 1) minimizes or maximizes a desired condition or conditions, thus satisfying the optimality condition and 2) satisfies the set of constraint equations imposed on the system.
With the above definitions, several categories of optimization problems may be defined. A Free Optimization Problem (FOP) is one for which no constraints exist. A Constraint Optimization Problem (COP) includes both, constraints and a “minimize” (or “maximize”) condition(s) requirement. In contrast, a Constraint Satisfaction Problem (CSP) contains only constraints. Solving a CSP means finding feasible solution(s) within the search space that satisfies the constraint conditions. Solving a COP means finding a solution that is both feasible and optimal in the sense that a minimum (or maximum) value for the desired condition(s) is realized.
The solution to such a problem typically involves a mathematical search algorithm, whereby successively improved solutions are obtained over the course of a number of algorithm iterations. Each iteration, which can be thought of as a proposed solution, results in improvement of an objective function. An objective function is a mathematical expression having parameter values of a proposed solution as inputs. The objective function produces a figure of merit for the proposed solution. Comparison of objective function values provides a measure as to the relative strength of one solution versus another. Numerous search algorithms exist and differ in the manner by which the control variables for a particular problem are modified, whether a population of solutions or a single solution is tracked during the improvement process, and the assessment of convergence. However, these search algorithms rely on the results of an objective function in deciding a path of convergence. Examples of optimization algorithms include Genetic Algorithms, Simulated Annealing, and Tabu Search.
Within optimization algorithms, the critical issue of handling constraints for COPs and CSPs must be addressed. Several classes of methods exist for dealing with constraints. The most widespread method is the use of the penalty approach for modifying the objective function, which has the effect of converting a COP or CSP into a FOP. In this method, a penalty function, representing violations in the set of constraint equations, is added to an objective function characterizing the desired optimal condition. When the penalty function is positive, the solution is infeasible. When the penalty function is zero, all constraints are satisfied. Minimizing the modified objective function thus seeks not only optimality but also satisfaction of the constraints.
Objective functions take application specific forms, and therefore, each new problem or modification to a problem requires the construction of a new objective function. Furthermore, the objective function plays the important role of guiding an optimization algorithm to a possible best solution. Presumably, the better the objective function, the better the optimization result and/or the more efficient the optimization operation. Accordingly, a constant demand exists in the field of constraint-based problems for improved objective functions.